This is a little bit tricky due to the fact that the default config uses space separated items instead of a true list.
Below is a code snippet that handles this, but its a bit bulky for interactive cli usage:
case "$(uci get firewall.@zone[1].network)" in
*\ *) uci set firewall.@zone[1].network="$(uci get firewall.@zone[1].network) wan_static" ;;
*) uci add_list firewall.@zone[1].network="wan_static" ;;
esac
If you just look for a one-off command in an interactive shell session, use uci set firewall.@zone[1].network="$(uci get firewall.@zone[1].network) wan_static" - this should also work if the existing config already uses lists, in which case the value will be converted to a space-separated option again.