如果我没记错的话,在 VueFormulate 中,只要单击单选或复选框,就会将“hasvalue”添加到输入元素中。
我现在想知道“手动”再次删除它。
我必须输入元素:第一个包含 3 个单选按钮,第二个包含 2 个复选框。当点击第三个单选按钮时,带有复选框的第二个表单变得可见(在这种情况下:不透明度 - 最初设置为 0.35 - 返回到 1)。
一旦第二个表单变得可见,“required”属性就会改变,这使得“require”验证消息出现。当单击另一个单选框或激活复选框时,它会再次被删除。
到目前为止,一切都很好。
执行以下步骤时会出现问题:
- 单击第三个单选按钮
- 勾选复选框
- 单击另一个单选按钮(“一个”或“两个”)
复选框再次变得不可见,但复选框也再次取消选中 - 这是重要的部分。
- 再次单击第三个单选按钮
现在复选框再次可见,但未显示所需的消息。
这是因为输入元素仍然有一个“hasvalue”属性,我不知道如何在步骤 3 中删除它。
目前我有这个功能来取消复选框:
clearCheckboxes() {
const fields = document.querySelectorAll('input[name="training_focus"]')
const fieldsArr = Array.from(fields)
fieldsArr.forEach(item => {
item.checked = false
item.hasvalue = false // <= this is the "bad boy"
item.removeAttribute('hasvalue') // does not work either
})
}
处理这种情况的正确方法是什么?