问题描述
在熟悉的项目代码的过程中,发现了一个无用的三目运算符,这是我当时认为的。后来才发现是我自己浅了浅了。下面把代码给大家截出来,大家看看。
HTML代码:
<el-form-item label="创建时间" prop="createDate">
<el-date-picker
class="bsn-w-300"
v-model="ruleForm.createDate"
type="daterange"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
range-separator="~"
:start-placeholder="$t('public.startDate')"
:end-placeholder="$t('public.endDate')"
>
</el-date-picker>
</el-form-item>
TS代码:
private ruleForm: any = {
createDate: [], // 创建时间
};
// 查询
submit(){
// 接口参数 params
const params = {
creatStarTime: this.ruleForm.creatDate
? this.ruleForm.creatDate[0]
: "",
creatEndTime: this.ruleForm.creatDate
? this.ruleForm.creatDate[1]
: "",
}
},
// 表单重置
restForm(){
this.$refs.ruleForm.resetFields()
}
无论
this.ruleForm.creatDate是不是空数组,它都返回true,所以它永远都不会走到false。
当我们点击
重置按钮时:creatDate会被重置成初始化的空数组当我们点击日期选择器清除时:createDate会被重置为
null
本文通过一个具体的项目案例,解析了三目运算符在处理日期选择器不同状态时的作用。当点击重置按钮,日期选择器被重置为空数组;而点击清除按钮,则被设为null。三目运算符据此作出正确判断。
2391

被折叠的 条评论
为什么被折叠?



