QML数组未定义检查

Chr*_*son 5 qt qml

我在QML中得到一个数组未定义的错误,我想知道什么会修复这个错误.这是当前的代码:

opacity: mBitField[index]
Run Code Online (Sandbox Code Playgroud)

每隔一段时间它会说不能分配undefinedopacity我,我想知道这个修复是否有效:

opacity: mBitField[index] == "undefined" ? 0 : mBitField[index]
Run Code Online (Sandbox Code Playgroud)

基本上我想说的是如果数组是未定义的,可以分配一个0,opacity否则在数组中分配什么.

bla*_*raz 6

您的代码将数组元素转换为不必要的字符串.要仅检查未定义,它将是:

opacity: mBitField[index] === undefined ? 0 : mBitField[index]
Run Code Online (Sandbox Code Playgroud)

或者,如果区分undefined和null(和false,0或"")并不重要,只需使用Javascript的强大功能:)

opacity: mBitField[index] || 0
Run Code Online (Sandbox Code Playgroud)