feat: opt 板箱过磅 auto calc
This commit is contained in:
63
CLAUDE.md
63
CLAUDE.md
@@ -505,6 +505,69 @@ dataBean.value = bean
|
||||
**类型**: `INPUT` / `SPINNER` / `DATE`
|
||||
**注意**: 使用 PadDataLayout 时,`titleLength` 通常设置为 5
|
||||
|
||||
#### PadDataLayoutNew - 输入完成回调
|
||||
|
||||
**使用场景**: 当需要在用户完成输入(失去焦点)时触发自动查询或其他操作
|
||||
|
||||
**正确用法**: 使用方法引用语法 `viewModel::methodName`
|
||||
|
||||
```xml
|
||||
<!-- 输入完成后自动查询 -->
|
||||
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
|
||||
android:id="@+id/carIdInput"
|
||||
hint='@{"请输入架子车号"}'
|
||||
setRefreshCallBack="@{viewModel::onCarIdInputComplete}"
|
||||
title='@{"架子车号"}'
|
||||
titleLength="@{5}"
|
||||
type="@{DataLayoutType.INPUT}"
|
||||
value='@={viewModel.carId}'
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<!-- 日期选择完成后触发回调 -->
|
||||
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
|
||||
setRefreshCallBack="@{viewModel::onFlightDateInputComplete}"
|
||||
title='@{"航班日期"}'
|
||||
titleLength="@{5}"
|
||||
type="@{DataLayoutType.DATE}"
|
||||
value='@={viewModel.flightDate}'
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
```
|
||||
|
||||
**ViewModel 中的实现**:
|
||||
|
||||
```kotlin
|
||||
/**
|
||||
* 架子车号输入完成时调用
|
||||
*/
|
||||
fun onCarIdInputComplete() {
|
||||
val id = carId.value
|
||||
if (!id.isNullOrEmpty() && id != lastQueriedCarId) {
|
||||
lastQueriedCarId = id
|
||||
queryFlatcarInfo(id)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 航班日期选择完成时调用
|
||||
*/
|
||||
fun onFlightDateInputComplete() {
|
||||
// 清除查询标记,以便重新查询
|
||||
lastQueriedFlight = ""
|
||||
queryFlightIfReady()
|
||||
}
|
||||
```
|
||||
|
||||
**关键要点**:
|
||||
- ✅ **正确**: `setRefreshCallBack="@{viewModel::methodName}"` - 使用方法引用
|
||||
- ❌ **错误**: `setRefreshCallBack="@{() -> viewModel.methodName()}"` - Lambda 表达式会导致编译错误
|
||||
- 回调在输入框失去焦点时触发 (INPUT/SPINNER 类型)
|
||||
- 回调在日期选择完成后触发 (DATE 类型)
|
||||
- 适合实现输入完成后的自动查询功能
|
||||
|
||||
### 开发检查清单
|
||||
|
||||
#### ⚠️ 重要提醒
|
||||
|
||||
Reference in New Issue
Block a user